<?php



/**

 * 文件下载相关

 */



namespace app\admin\controller;



use think\Db;

use think\response\Json;



class Filedownload extends BaseController

{

    /**

     * 列表视图

     */

    public function index()

    {

        //  获取参数

        $params = input("get.");

        $this->assign("params", $params);

        return view();

    }



    /**

     * 获取列表信息

     */

    public function getList()

    {

        //  获取参数

        $params = input("get.");

        $page = isset($params["page"]) ? $params["page"] : 1;

        $limit = isset($params["limit"]) ? $params["limit"] : 30;

        $offset = ($page - 1) * $limit;

        //  定义查询条件

        $where = [

            "module_id" => $params["module_id"],

            "status" => 1

        ];

        //  定义查询字段

        $fields = "id,module_id,title,images,orders,create_time";

        //  统计查询数据数量

        $count = db("files")->where($where)->count();

        //  查询数据

        $info = db("files")->where($where)->field($fields)->order("orders asc,create_time desc")->limit($offset, $limit)->select();

        //  定义返回数据

        $arr = ["code" => 0, "msg" => 'true', "data" => $info, "count" => $count];

        return json($arr);

    }



    /**

     * 添加视图

     */

    public function add()

    {

        //  获取参数

        $params = input("get.");

        $this->assign("params", $params);

        $img_size = "285*230";

        $this->assign("img_size", $img_size);

        return view();

    }



    /**

     * 编辑视图

     */

    public function edit()

    {

        //  获取参数

        $params = input("get.");

        $id = isset($params["id"]) ? $params["id"] : '';

        //  定义数据

        $info = [];

        //  验证参数

        if (isset($params["id"])) {

            //  查询数据

            $info = db("files")->where("id", "=", $params["id"])->find();

        }

        $this->assign("info", $info);

        $this->assign("id", $id);

        $this->assign("params", $params);

        $img_size = "285*230";

        $this->assign("img_size", $img_size);

        return view();

    }



    /**

     * 保存信息

     */

    public function save()

    {

        //  获取参数

        $params = input("post.");

        //  释放无用数据

        unset($params["file"]);

        //  验证参数

        if (!empty($params["id"])) {

            //  更新数据

            db("files")->update($params);

        } else {

            //  释放参数ID

            unset($params["id"]);

            //  定义创建时间

            $params["create_time"] = date("Y-m-d H:i:s");

            //  保存数据

            db("files")->insert($params);

        }

        //  返回数据

        return json(["code" => 0, "msg" => "操作は成功しました"]);

    }



    /**

     * 字段保存

     */

    public function inputChange()

    {

        //  获取参数

        $params = input("post.");

        //  验证参数

        if (isset($params['id']) && !empty($params['id'])) {

            //  更新数据

            db("files")->update($params);

            //  定义返回数据

            $arr = ["code" => 0, "msg" => "操作は成功しました"];

        } else {

            //  定义返回数据

            $arr = ["code" => 1, "msg" => "操作が失敗しました。パラメータがありません"];

        }

        return json($arr);

    }



    /**

     * 删除数据

     */

    public function delete()

    {

        //  获取参数

        $params = input("post.");

        //  验证参数

        if (isset($params["ids"]) && !empty($params["ids"])) {

            //  定义条件

            $where["id"] = array("in", $params["ids"]);

            //  更新数据

            db("files")->whereIn('id', $params["ids"])->update(["status" => 2]);

            //  定义返回数据

            $arr = ["code" => 0, "msg" => "正常に削除されました"];

        } else {

            //  定义返回数据

            $arr = ["code" => 1, "msg" => "操作が失敗しました。パラメータがありません"];

        }

        return json($arr);

    }

}

